{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 165,
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2023-11-21T09:04:33.605077500Z",
     "start_time": "2023-11-21T09:04:33.552611800Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "                  职位名称         职位类型     发布时间        更新时间  招聘人数  \\\n0          投资总监/高级投资经理    专业服务和管理支持  2023-10  2023-11-15     1   \n1                前端工程师           技术  2023-11  2023-11-14     1   \n2           金融行业运营咨询专家  政企行业解决方案和服务  2023-11  2023-11-14     1   \n3           产品市场经理（MO）    专业服务和管理支持  2023-11  2023-11-14     1   \n4       Go/PHP服务端研发工程师           技术  2023-08  2023-11-14     1   \n...                ...          ...      ...         ...   ...   \n1709     智云资深售前解决方案工程师  政企行业解决方案和服务  2021-12  2021-12-17     0   \n1710       整车智能解决方案工程师  政企行业解决方案和服务  2021-12  2021-12-17     0   \n1711        智能驾驶售前解决方案  政企行业解决方案和服务  2021-12  2021-12-17     0   \n1712        高精地图售前解决方案  政企行业解决方案和服务  2021-12  2021-12-17     0   \n1713  自动驾驶/车联网行业高级销售经理  政企行业解决方案和服务  2021-12  2021-12-17     0   \n\n                                                   服务条件  \\\n0     -本科及以上学历，毕业于国内外知名高校\\r\\n-3年以上相关的投资或基金行业经验，有人工智能...   \n1     -本科及以上学历，计算机学科、软件工程相关专业优先\\r\\n-2年以上工作经验 ，精通HTML...   \n2     -金融、经济或相关领域的学士以上学位\\r\\n-10年以上金融行业或金融咨询服务行业工作经验，...   \n3     -本科及以上学历，5年以上to B产品市场/GTM经验\\r\\n-具有云及AI产品相关丰富经验...   \n4     -本科及以上学历，计算机相关专业 \\r\\n-三年以上PHP/golang为主的大中型互联网服...   \n...                                                 ...   \n1709  -本科及以上学历， 车辆工程/计算机/自动控制类等相关专业优先考虑\\r\\n-具备车辆仿真或自...   \n1710  -2年以上软件研发经验，了解计算机体系架构理论 \\r\\n-2年以上车厂工作经验，熟悉车辆电子...   \n1711  -本科及以上学历，汽车工程、电子信息及计算机等相关专业优先\\r\\n-自动驾驶、高精地图、高精...   \n1712  -本科及以上学历，2年以上产品工作经验，有人工智能相关产品和TOB产品经验者优先\\r\\n-熟...   \n1713  -本科及以上学位，有MBA学历者优先\\r\\n-5年以上面向OEM为主的汽车行业销售经验。有在...   \n\n                                                   工作内容         工作地点   是否热门  \\\n0     -对相关行业进行分析，建立内外部关系网络，与团队一起不断优化投资策略、发掘潜在标的\\r\\n-...          北京市   True   \n1     -网盘 Web 端及移动端核心功能设计、开发和实现，涉及但不限于小程序、文档、音频、视频、图...          北京市   True   \n2     -分析和评估银行、消金、证券、保险等持牌金融机构的业务经营管理和增长运营体系，提出数字化运营...      北京市,上海市   True   \n3     -围绕公司战略方向的产品展开前沿的市场研究，密切跟踪并收集竞争对手产品信息和行业动态信息，为...          北京市   True   \n4     -负责百度网盘运营产品相关的server侧研发工作\\r\\n-高质量把控相关研发工作的生命周期...          北京市   True   \n...                                                 ...          ...    ...   \n1709  -负责与汽车主机厂、Tier1 等合作沟通，了解并挖掘客户自动驾驶研发过程中的需求\\r\\n-...           全国  False   \n1710  -向客户介绍现有智能驾驶、智能座舱、智能车联、高精地图、汽车云等相关产品，负责产品的演示,演...  北京市,上海市,深圳市  False   \n1711  -配合销售进行智能驾驶产品和业务市场拓展，有丰富的相关自动驾驶解决方案的经验\\r\\n-负责项...           全国  False   \n1712  -负责高精地图方向的场景分析，功能定义，产品设计，包括对功能逻辑、性能等相关指标的分析和制定...           全国  False   \n1713  -深入了解和掌握百度自动驾驶相关技术、产品和解决方案的细节。构建清晰的行业认知、明确产品定位...           全国  False   \n\n     学历条件 经验条件   是否经验  \n0      本科    无  不需要经验  \n1      本科    无  不需要经验  \n2       无    无  不需要经验  \n3      本科   5年   需要经验  \n4      本科    无  不需要经验  \n...   ...  ...    ...  \n1709   本科    无  不需要经验  \n1710    无   2年   需要经验  \n1711   本科    无  不需要经验  \n1712   本科   2年   需要经验  \n1713   本科    无  不需要经验  \n\n[1714 rows x 12 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>职位名称</th>\n      <th>职位类型</th>\n      <th>发布时间</th>\n      <th>更新时间</th>\n      <th>招聘人数</th>\n      <th>服务条件</th>\n      <th>工作内容</th>\n      <th>工作地点</th>\n      <th>是否热门</th>\n      <th>学历条件</th>\n      <th>经验条件</th>\n      <th>是否经验</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>投资总监/高级投资经理</td>\n      <td>专业服务和管理支持</td>\n      <td>2023-10</td>\n      <td>2023-11-15</td>\n      <td>1</td>\n      <td>-本科及以上学历，毕业于国内外知名高校\\r\\n-3年以上相关的投资或基金行业经验，有人工智能...</td>\n      <td>-对相关行业进行分析，建立内外部关系网络，与团队一起不断优化投资策略、发掘潜在标的\\r\\n-...</td>\n      <td>北京市</td>\n      <td>True</td>\n      <td>本科</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>前端工程师</td>\n      <td>技术</td>\n      <td>2023-11</td>\n      <td>2023-11-14</td>\n      <td>1</td>\n      <td>-本科及以上学历，计算机学科、软件工程相关专业优先\\r\\n-2年以上工作经验 ，精通HTML...</td>\n      <td>-网盘 Web 端及移动端核心功能设计、开发和实现，涉及但不限于小程序、文档、音频、视频、图...</td>\n      <td>北京市</td>\n      <td>True</td>\n      <td>本科</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>金融行业运营咨询专家</td>\n      <td>政企行业解决方案和服务</td>\n      <td>2023-11</td>\n      <td>2023-11-14</td>\n      <td>1</td>\n      <td>-金融、经济或相关领域的学士以上学位\\r\\n-10年以上金融行业或金融咨询服务行业工作经验，...</td>\n      <td>-分析和评估银行、消金、证券、保险等持牌金融机构的业务经营管理和增长运营体系，提出数字化运营...</td>\n      <td>北京市,上海市</td>\n      <td>True</td>\n      <td>无</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>产品市场经理（MO）</td>\n      <td>专业服务和管理支持</td>\n      <td>2023-11</td>\n      <td>2023-11-14</td>\n      <td>1</td>\n      <td>-本科及以上学历，5年以上to B产品市场/GTM经验\\r\\n-具有云及AI产品相关丰富经验...</td>\n      <td>-围绕公司战略方向的产品展开前沿的市场研究，密切跟踪并收集竞争对手产品信息和行业动态信息，为...</td>\n      <td>北京市</td>\n      <td>True</td>\n      <td>本科</td>\n      <td>5年</td>\n      <td>需要经验</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>Go/PHP服务端研发工程师</td>\n      <td>技术</td>\n      <td>2023-08</td>\n      <td>2023-11-14</td>\n      <td>1</td>\n      <td>-本科及以上学历，计算机相关专业 \\r\\n-三年以上PHP/golang为主的大中型互联网服...</td>\n      <td>-负责百度网盘运营产品相关的server侧研发工作\\r\\n-高质量把控相关研发工作的生命周期...</td>\n      <td>北京市</td>\n      <td>True</td>\n      <td>本科</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th>1709</th>\n      <td>智云资深售前解决方案工程师</td>\n      <td>政企行业解决方案和服务</td>\n      <td>2021-12</td>\n      <td>2021-12-17</td>\n      <td>0</td>\n      <td>-本科及以上学历， 车辆工程/计算机/自动控制类等相关专业优先考虑\\r\\n-具备车辆仿真或自...</td>\n      <td>-负责与汽车主机厂、Tier1 等合作沟通，了解并挖掘客户自动驾驶研发过程中的需求\\r\\n-...</td>\n      <td>全国</td>\n      <td>False</td>\n      <td>本科</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n    <tr>\n      <th>1710</th>\n      <td>整车智能解决方案工程师</td>\n      <td>政企行业解决方案和服务</td>\n      <td>2021-12</td>\n      <td>2021-12-17</td>\n      <td>0</td>\n      <td>-2年以上软件研发经验，了解计算机体系架构理论 \\r\\n-2年以上车厂工作经验，熟悉车辆电子...</td>\n      <td>-向客户介绍现有智能驾驶、智能座舱、智能车联、高精地图、汽车云等相关产品，负责产品的演示,演...</td>\n      <td>北京市,上海市,深圳市</td>\n      <td>False</td>\n      <td>无</td>\n      <td>2年</td>\n      <td>需要经验</td>\n    </tr>\n    <tr>\n      <th>1711</th>\n      <td>智能驾驶售前解决方案</td>\n      <td>政企行业解决方案和服务</td>\n      <td>2021-12</td>\n      <td>2021-12-17</td>\n      <td>0</td>\n      <td>-本科及以上学历，汽车工程、电子信息及计算机等相关专业优先\\r\\n-自动驾驶、高精地图、高精...</td>\n      <td>-配合销售进行智能驾驶产品和业务市场拓展，有丰富的相关自动驾驶解决方案的经验\\r\\n-负责项...</td>\n      <td>全国</td>\n      <td>False</td>\n      <td>本科</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n    <tr>\n      <th>1712</th>\n      <td>高精地图售前解决方案</td>\n      <td>政企行业解决方案和服务</td>\n      <td>2021-12</td>\n      <td>2021-12-17</td>\n      <td>0</td>\n      <td>-本科及以上学历，2年以上产品工作经验，有人工智能相关产品和TOB产品经验者优先\\r\\n-熟...</td>\n      <td>-负责高精地图方向的场景分析，功能定义，产品设计，包括对功能逻辑、性能等相关指标的分析和制定...</td>\n      <td>全国</td>\n      <td>False</td>\n      <td>本科</td>\n      <td>2年</td>\n      <td>需要经验</td>\n    </tr>\n    <tr>\n      <th>1713</th>\n      <td>自动驾驶/车联网行业高级销售经理</td>\n      <td>政企行业解决方案和服务</td>\n      <td>2021-12</td>\n      <td>2021-12-17</td>\n      <td>0</td>\n      <td>-本科及以上学位，有MBA学历者优先\\r\\n-5年以上面向OEM为主的汽车行业销售经验。有在...</td>\n      <td>-深入了解和掌握百度自动驾驶相关技术、产品和解决方案的细节。构建清晰的行业认知、明确产品定位...</td>\n      <td>全国</td>\n      <td>False</td>\n      <td>本科</td>\n      <td>无</td>\n      <td>不需要经验</td>\n    </tr>\n  </tbody>\n</table>\n<p>1714 rows × 12 columns</p>\n</div>"
     },
     "execution_count": 165,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import jieba \n",
    "import re\n",
    "from jieba import analyse\n",
    "import numpy as np\n",
    "\n",
    "df = pd.read_csv('../static/data/pre_job_info.csv')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "outputs": [
    {
     "data": {
      "text/plain": "['2023-11',\n '2023-10',\n '2023-09',\n '2023-08',\n '2023-07',\n '2023-06',\n '2023-05',\n '2023-04',\n '2023-03',\n '2023-02',\n '2023-01',\n '2022-12',\n '2022-11',\n '2022-10',\n '2022-09',\n '2022-08',\n '2022-07',\n '2022-06',\n '2022-05',\n '2022-04',\n '2022-03',\n '2022-02',\n '2022-01',\n '2021-12']"
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "line_data = df[['职位名称','发布时间']].groupby('发布时间').count().reset_index().rename(columns={'发布时间':'name','职位名称':'value'}).sort_values(\"name\", inplace=False, ascending=False).to_numpy()\n",
    "line_data[:,0].tolist()\n"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T02:43:44.750465900Z",
     "start_time": "2023-11-21T02:43:44.736565700Z"
    }
   },
   "id": "55d9b11a0672d4da"
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "outputs": [
    {
     "data": {
      "text/plain": "[{'name': '无',\n  'value': 619,\n  'children': [{'name': '不需要经验', 'value': 382},\n   {'name': '需要经验', 'value': 237}]},\n {'name': '本科',\n  'value': 1021,\n  'children': [{'name': '不需要经验', 'value': 574},\n   {'name': '需要经验', 'value': 447}]},\n {'name': '硕士',\n  'value': 74,\n  'children': [{'name': '不需要经验', 'value': 62}, {'name': '需要经验', 'value': 12}]}]"
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_pie_parent = df[['职位名称','学历条件']].groupby(['学历条件']).count().reset_index().values.tolist()\n",
    "df_pie_children = df[['职位名称','学历条件','是否经验']].groupby(['学历条件','是否经验']).count().reset_index()\n",
    "pie_data = [{'name':i[0],'value':i[1],'children':[{'name':j[1],'value':int(j[2])} for j in df_pie_children[df_pie_children['学历条件'] == i[0]].values]} for i in df_pie_parent]\n",
    "pie_data"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T03:30:42.911134500Z",
     "start_time": "2023-11-21T03:30:42.894716Z"
    }
   },
   "id": "50c689a02035352c"
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "outputs": [
    {
     "data": {
      "text/plain": "[{'name': '热门'},\n {'name': '非热门'},\n {'name': '专业服务和管理支持'},\n {'name': '技术'},\n {'name': '用户体验'},\n {'name': '其他'},\n {'name': '政企行业解决方案和服务'},\n {'name': '产品'},\n {'name': '无'},\n {'name': '湖北省'},\n {'name': '长春市'},\n {'name': '香港特别行政区'},\n {'name': '广东省'},\n {'name': '无锡市'},\n {'name': '东京'},\n {'name': '广州市'},\n {'name': '天津市'},\n {'name': '太原市'},\n {'name': '山东省'},\n {'name': '绵阳市'},\n {'name': '东莞市'},\n {'name': '厦门市'},\n {'name': '浙江省'},\n {'name': '深圳市'},\n {'name': '贵州省'},\n {'name': '澄迈县'},\n {'name': '海淀区'},\n {'name': '大雅加达首都特区'},\n {'name': '保定市'},\n {'name': '哈尔滨市'},\n {'name': '日本'},\n {'name': '旧金山'},\n {'name': '湖南省'},\n {'name': '杭州市'},\n {'name': '江苏省'},\n {'name': '南昌市'},\n {'name': '新加坡'},\n {'name': '佛山市'},\n {'name': '成都市'},\n {'name': '大连市'},\n {'name': '西安市'},\n {'name': '安徽省'},\n {'name': '自贡市'},\n {'name': '南京市'},\n {'name': '江西省'},\n {'name': '河北省'},\n {'name': '武汉市'},\n {'name': '珠海市'},\n {'name': '全国'},\n {'name': '重庆市'},\n {'name': '河南省'},\n {'name': '呼和浩特市'},\n {'name': '济南市'},\n {'name': '北京市'},\n {'name': '烟台市'},\n {'name': '青岛市'},\n {'name': '云南省'},\n {'name': '上海市'},\n {'name': '苏州市'}]"
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sankey_data = [\n",
    "    {'name':'热门'},\n",
    "    {'name':'非热门'}\n",
    "]\n",
    "df_sankey = df[['职位名称','是否热门','职位类型']].groupby(['是否热门','职位类型']).count().reset_index()\n",
    "sankey_data +=[{'name':i} for i in set(df_sankey['职位类型'].values.tolist())]\n",
    "df_sankey_hot = df_sankey[df_sankey['是否热门']].values\n",
    "df_sankey_no_hot = df_sankey[df_sankey['是否热门'] == False].values\n",
    "sankey_link = [{ 'source': '热门', 'target': i[1], 'value': int(i[2]) } for i in df_sankey_hot] + [{ 'source': '非热门', 'target': i[1], 'value': int(i[2]) } for i in df_sankey_no_hot]\n",
    "df_sankey_area = df.drop('工作地点', axis=1).join(\n",
    "        df['工作地点'].str.split(',', expand=True).stack().reset_index(level=1, drop=True).rename('工作地点'))\n",
    "df_sankey_area = df_sankey_area[['职位名称','工作地点','职位类型']].groupby(['职位类型','工作地点']).count().reset_index()\n",
    "sankey_link+=[{ 'source': i[0], 'target': i[1], 'value': int(i[2]) } for i in df_sankey_area.values]\n",
    "sankey_data +=[{'name':i} for i in set(df_sankey_area['工作地点'].values.tolist())]\n",
    "sankey_data"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T07:10:12.593274300Z",
     "start_time": "2023-11-21T07:10:12.566514400Z"
    }
   },
   "id": "29c05dc65d51214e"
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "outputs": [
    {
     "data": {
      "text/plain": "                                    发布时间  更新时间  招聘人数  服务条件  工作内容  工作地点  是否热门  \\\n职位类型        职位名称                                                               \n政企行业解决方案和服务 区域销售经理                     8     8     8     8     8     8     8   \n技术          测试开发工程师                    7     7     7     7     7     7     7   \n政企行业解决方案和服务 大客户销售经理                    5     5     5     5     5     5     5   \n            解决方案架构师                    4     4     4     4     4     4     4   \n技术          高级前端研发工程师                  3     3     3     3     3     3     3   \n...                                  ...   ...   ...   ...   ...   ...   ...   \n产品          类目运营                       1     1     1     1     1     1     1   \n            网盘国际化产品经理                  1     1     1     1     1     1     1   \n            网盘用户产品组_网盘用户产品组_用户产品经理     1     1     1     1     1     1     1   \n            补贴产品专家                     1     1     1     1     1     1     1   \n用户体验        高级用户研究工程师                  1     1     1     1     1     1     1   \n\n                                    学历条件  经验条件  是否经验  \n职位类型        职位名称                                      \n政企行业解决方案和服务 区域销售经理                     8     8     8  \n技术          测试开发工程师                    7     7     7  \n政企行业解决方案和服务 大客户销售经理                    5     5     5  \n            解决方案架构师                    4     4     4  \n技术          高级前端研发工程师                  3     3     3  \n...                                  ...   ...   ...  \n产品          类目运营                       1     1     1  \n            网盘国际化产品经理                  1     1     1  \n            网盘用户产品组_网盘用户产品组_用户产品经理     1     1     1  \n            补贴产品专家                     1     1     1  \n用户体验        高级用户研究工程师                  1     1     1  \n\n[285 rows x 10 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th></th>\n      <th>发布时间</th>\n      <th>更新时间</th>\n      <th>招聘人数</th>\n      <th>服务条件</th>\n      <th>工作内容</th>\n      <th>工作地点</th>\n      <th>是否热门</th>\n      <th>学历条件</th>\n      <th>经验条件</th>\n      <th>是否经验</th>\n    </tr>\n    <tr>\n      <th>职位类型</th>\n      <th>职位名称</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>政企行业解决方案和服务</th>\n      <th>区域销售经理</th>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n      <td>8</td>\n    </tr>\n    <tr>\n      <th>技术</th>\n      <th>测试开发工程师</th>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n      <td>7</td>\n    </tr>\n    <tr>\n      <th rowspan=\"2\" valign=\"top\">政企行业解决方案和服务</th>\n      <th>大客户销售经理</th>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n      <td>5</td>\n    </tr>\n    <tr>\n      <th>解决方案架构师</th>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n      <td>4</td>\n    </tr>\n    <tr>\n      <th>技术</th>\n      <th>高级前端研发工程师</th>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n      <td>3</td>\n    </tr>\n    <tr>\n      <th>...</th>\n      <th>...</th>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n      <td>...</td>\n    </tr>\n    <tr>\n      <th rowspan=\"4\" valign=\"top\">产品</th>\n      <th>类目运营</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>网盘国际化产品经理</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>网盘用户产品组_网盘用户产品组_用户产品经理</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>补贴产品专家</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n    </tr>\n    <tr>\n      <th>用户体验</th>\n      <th>高级用户研究工程师</th>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n    </tr>\n  </tbody>\n</table>\n<p>285 rows × 10 columns</p>\n</div>"
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['是否热门']].groupby(['职位类型','职位名称']).count().sort_values(\"发布时间\", inplace=False, ascending=False)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T07:15:33.241543800Z",
     "start_time": "2023-11-21T07:15:33.220274200Z"
    }
   },
   "id": "e29bcb5514cfce99"
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "outputs": [],
   "source": [
    "job_list_string = ''.join(df['职位名称'].values.tolist())\n",
    "job_list_string = job_list_string.replace('/','').replace(' ','').replace('（','').replace('）','')\n",
    "df_job = pd.DataFrame(list(jieba.cut(job_list_string, cut_all=False))).rename(columns={0:'word'})"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T07:47:40.902235500Z",
     "start_time": "2023-11-21T07:47:40.841823800Z"
    }
   },
   "id": "d73021b2d79e8a78"
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "outputs": [
    {
     "data": {
      "text/plain": "    word  count\n389  工程师    612\n662   经理    425\n173   产品    366\n619   研发    245\n774   运营    235",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>word</th>\n      <th>count</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>389</th>\n      <td>工程师</td>\n      <td>612</td>\n    </tr>\n    <tr>\n      <th>662</th>\n      <td>经理</td>\n      <td>425</td>\n    </tr>\n    <tr>\n      <th>173</th>\n      <td>产品</td>\n      <td>366</td>\n    </tr>\n    <tr>\n      <th>619</th>\n      <td>研发</td>\n      <td>245</td>\n    </tr>\n    <tr>\n      <th>774</th>\n      <td>运营</td>\n      <td>235</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_job_count = df_job.groupby('word').value_counts().reset_index().rename(columns={0:'count'})\n",
    "df_job_count_top5 = df_job_count.sort_values(\"count\", inplace=False, ascending=False).head()\n",
    "df_job_count_top5"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T08:38:04.120232Z",
     "start_time": "2023-11-21T08:38:04.099102500Z"
    }
   },
   "id": "dd0b063ef4bd1022"
  },
  {
   "cell_type": "markdown",
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "40f456540a6fcc69"
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "outputs": [],
   "source": [
    "work_content_list_string = ''.join(df['工作内容'].values.tolist())\n",
    "work_content_list = re.findall('[\\u4e00-\\u9fa5]+', work_content_list_string, re.S)\n",
    "work_content_list_string = ''.join(work_content_list_string).replace('，','').replace('\\r\\n','').replace('、','').replace('-','').replace(' ','').replace('/','')\n",
    "df_work_content = pd.DataFrame(list(jieba.cut(work_content_list_string, cut_all=False))).rename(columns={0:'word'})\n",
    "df_work_content = df_work_content.groupby('word').value_counts().reset_index().rename(columns={0:'count'})"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T08:52:22.994696600Z",
     "start_time": "2023-11-21T08:52:21.913081600Z"
    }
   },
   "id": "f33cd7e1a5842520"
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "outputs": [
    {
     "data": {
      "text/plain": "[['的', 6003],\n ['和', 3945],\n ['负责', 3009],\n ['产品', 2896],\n ['业务', 1889],\n ['等', 1704],\n ['与', 1383],\n ['及', 1306],\n ['需求', 1214],\n ['并', 1213],\n ['优化', 1179],\n ['用户', 1172],\n ['分析', 1163],\n ['客户', 1120],\n ['工作', 1076],\n ['技术', 983],\n ['项目', 971],\n ['数据', 946],\n ['行业', 937],\n ['策略', 927],\n ['对', 914],\n ['设计', 884],\n ['提升', 867],\n ['运营', 836],\n ['进行', 826],\n ['相关', 819],\n ['团队', 790],\n ['落地', 782],\n ['内容', 754],\n ['百度', 728],\n ['制定', 699],\n ['研发', 692],\n ['开发', 667],\n ['推动', 632],\n ['方案', 611],\n ['完成', 573],\n ['目标', 545],\n ['包括', 540],\n ['为', 526],\n ['参与', 513],\n ['问题', 507],\n ['平台', 492],\n ['通过', 491],\n ['持续', 464],\n ['系统', 461],\n ['场景', 460],\n ['能力', 456],\n ['模型', 452],\n ['管理', 435],\n ['建设', 430]]"
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_work_content = df_work_content.sort_values(\"count\", inplace=False, ascending=False).head(50)\n",
    "df_work_content.values.tolist()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T08:52:24.105557800Z",
     "start_time": "2023-11-21T08:52:24.095642100Z"
    }
   },
   "id": "932e4ad8dd30f0cd"
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "outputs": [],
   "source": [
    "keyword_list = [analyse.extract_tags(i, topK=10)for i in df['工作内容'].values.tolist()]"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T09:04:38.539297500Z",
     "start_time": "2023-11-21T09:04:37.384516400Z"
    }
   },
   "id": "3c65460fc6fc7a62"
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "outputs": [],
   "source": [
    "keyword_list = np.array(keyword_list)\n",
    "keyword_list = keyword_list.ravel()\n",
    "df_keyword = pd.DataFrame(keyword_list).rename(columns={0:'word'})\n",
    "df_keyword = df_keyword.groupby('word').value_counts().reset_index().rename(columns={0:'count'})"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T09:10:07.968813Z",
     "start_time": "2023-11-21T09:10:07.945450100Z"
    }
   },
   "id": "37e40b8cc5994fb2"
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "outputs": [
    {
     "data": {
      "text/plain": "[{'name': '负责', 'value': 692},\n {'name': '产品', 'value': 486},\n {'name': '业务', 'value': 296},\n {'name': '用户', 'value': 283},\n {'name': '优化', 'value': 264},\n {'name': '客户', 'value': 237},\n {'name': '运营', 'value': 197},\n {'name': '百度', 'value': 177},\n {'name': '落地', 'value': 166},\n {'name': '迭代', 'value': 157},\n {'name': '团队', 'value': 154},\n {'name': '策略', 'value': 152},\n {'name': '需求', 'value': 149},\n {'name': '技术', 'value': 147},\n {'name': '研发', 'value': 130},\n {'name': '设计', 'value': 129},\n {'name': '分析', 'value': 124},\n {'name': '项目', 'value': 123},\n {'name': 'AI', 'value': 118},\n {'name': '开发', 'value': 118},\n {'name': '行业', 'value': 117},\n {'name': '内容', 'value': 115},\n {'name': '算法', 'value': 112},\n {'name': '场景', 'value': 103},\n {'name': '数据', 'value': 103},\n {'name': '平台', 'value': 100},\n {'name': '解决方案', 'value': 99},\n {'name': '提升', 'value': 96},\n {'name': '模型', 'value': 94},\n {'name': '制定', 'value': 88},\n {'name': '电商', 'value': 87},\n {'name': '体验', 'value': 82},\n {'name': '竞品', 'value': 80},\n {'name': '生态', 'value': 80},\n {'name': '数据分析', 'value': 77},\n {'name': '工作', 'value': 73},\n {'name': '架构设计', 'value': 71},\n {'name': '相关', 'value': 70},\n {'name': '测试', 'value': 70},\n {'name': '流程', 'value': 69},\n {'name': '架构', 'value': 67},\n {'name': '交付', 'value': 64},\n {'name': '系统', 'value': 64},\n {'name': '前沿技术', 'value': 60},\n {'name': '智能', 'value': 59},\n {'name': '洞察', 'value': 59},\n {'name': '营销', 'value': 58},\n {'name': '文档', 'value': 57},\n {'name': 'APP', 'value': 56},\n {'name': '方案', 'value': 53}]"
     },
     "execution_count": 179,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_keyword_top50 = df_keyword.sort_values(\"count\", inplace=False, ascending=False).head(50)\n",
    "word_cloud_data = df_keyword_top50.values.tolist()\n",
    "word_cloud_data = [{'name':i[0],'value':i[1]}for i in word_cloud_data]\n",
    "word_cloud_data"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2023-11-21T09:09:48.791574Z",
     "start_time": "2023-11-21T09:09:48.780884300Z"
    }
   },
   "id": "36e22b9768c8111d"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
